import { http } from "@/utils/http";
import { uploadAvatar } from "./star";

type Result = {
  successful: boolean;
  result?: Array<any>;
};

type ResultTable = {
  success: boolean;
  data?: {
    /** 列表数据 */
    list: Array<any>;
    /** 总条目数 */
    total?: number;
    /** 每页显示条目个数 */
    pageSize?: number;
    /** 当前页数 */
    currentPage?: number;
  };
};
// 媒资管理
/** 文件上传前检查文件是否存在 */
export const checkfile = (fileMd5: string) => {
  // 创建表单数据
  const params = new URLSearchParams();
  params.append("fileMd5", fileMd5);  // 将 fileMd5 添加到表单数据中
  return http.request<Result>("post", "/bxj/media/upload/checkfile", {
    data: params,  // 传递表单数据
    headers: {
      "Content-Type": "application/x-www-form-urlencoded"  // 设置请求头为表单数据格式
    }
  });
};
/** 文件上传前检查文件分块是否存在 */
export const checkChunkFile = (fileMd5: string,chunkIndex: number) => {
  // 创建表单数据
  const params = new URLSearchParams();
  params.append("fileMd5", fileMd5); 
   params.append("chunk", chunkIndex+""); 
   // 将 fileMd5 添加到表单数据中
  return http.request<Result>("post", "/bxj/media/upload/checkchunk", {
    data: params,  // 传递表单数据
    headers: {
      "Content-Type": "application/x-www-form-urlencoded"  // 设置请求头为表单数据格式
    }
  });
};

/** 上传分块文件 */
export const uploadchunk = (file: File, chunkIndex: number, fileMd5: string) => {
   // 创建一个新的 FormData 对象
  const formData = new FormData();
  // 将文件添加到 FormData 中
  formData.append("file", file);  // 注意，这里的 file 是 File 类型
  formData.append("fileMd5", fileMd5);  // 添加文件的 MD5
  formData.append("chunk", chunkIndex.toString());  
   // 将 fileMd5 添加到表单数据中
  return http.request<Result>("post", "/bxj/media/upload/uploadchunk", {
    data: formData,  // 传递表单数据
    headers: {
      "Content-Type": "multipart/form-data"  // 设置请求头为表单数据格式
    }
  });
};

/** 上传图片 */
export const uploadImg = (file: File) => {
   // 创建一个新的 FormData 对象
  const formData = new FormData();
  // 将文件添加到 FormData 中
  formData.append("file", file);  // 注意，这里的 file 是 File 类型
   // 将 fileMd5 添加到表单数据中
  return http.request<Result>("post", "/bxj/media/upload/uploadImg", {
    data: formData,  // 传递表单数据
    headers: {
      "Content-Type": "multipart/form-data"  // 设置请求头为表单数据格式
    }
  });
};

/** 合并分块文件 */
export const mergechunks = ( fileMd5: string, fileName: string,chunkTotal: number) => {
    // 创建表单数据
  const params = new URLSearchParams();
  params.append("fileMd5", fileMd5); 
   params.append("fileName", fileName); 
      params.append("chunkTotal", chunkTotal+""); 
   // 将 fileMd5 添加到表单数据中
  return http.request<Result>("post", "/bxj/media/upload/mergechunks", {
    data: params,  // 传递表单数据
    headers: {
       "Content-Type": "application/x-www-form-urlencoded" // 设置请求头为表单数据格式
    }
  });
};
